#!/bin/bash

echo "=== TransactionTooLargeException 修复验证 ==="
echo

# 检查新创建的文件
echo "1. 检查新创建的数据管理类："
if [ -f "app/src/main/java/com/example/xncs/ImageDataFileManager.java" ]; then
    echo "✅ ImageDataFileManager.java 已创建"
else
    echo "❌ ImageDataFileManager.java 未找到"
fi

if [ -f "app/src/main/java/com/example/xncs/ImageDataManager.java" ]; then
    echo "✅ ImageDataManager.java 已创建"
else
    echo "❌ ImageDataManager.java 未找到"
fi

echo

# 检查MainActivity修改
echo "2. 检查MainActivity修改："
if grep -q "ImageDataFileManager" app/src/main/java/com/example/xncs/MainActivity.java; then
    echo "✅ MainActivity 已使用 ImageDataFileManager"
else
    echo "❌ MainActivity 未使用 ImageDataFileManager"
fi

if grep -q "USE_STORED_DATA" app/src/main/java/com/example/xncs/MainActivity.java; then
    echo "✅ MainActivity 已添加 USE_STORED_DATA 标记"
else
    echo "❌ MainActivity 未添加 USE_STORED_DATA 标记"
fi

echo

# 检查AutoPlayActivity修改
echo "3. 检查AutoPlayActivity修改："
if grep -q "ImageDataFileManager" app/src/main/java/com/example/xncs/AutoPlayActivity.java; then
    echo "✅ AutoPlayActivity 已使用 ImageDataFileManager"
else
    echo "❌ AutoPlayActivity 未使用 ImageDataFileManager"
fi

if grep -q "useStoredData" app/src/main/java/com/example/xncs/AutoPlayActivity.java; then
    echo "✅ AutoPlayActivity 已添加存储数据检查"
else
    echo "❌ AutoPlayActivity 未添加存储数据检查"
fi

echo

# 检查数据清理机制
echo "4. 检查数据清理机制："
if grep -q "clearAllData" app/src/main/java/com/example/xncs/AutoPlayActivity.java; then
    echo "✅ AutoPlayActivity 已添加数据清理机制"
else
    echo "❌ AutoPlayActivity 未添加数据清理机制"
fi

echo

# 检查Intent传递的数据量
echo "5. 检查Intent传递的数据量："
if grep -q "putStringArrayListExtra.*BASE64_IMAGE_LIST" app/src/main/java/com/example/xncs/MainActivity.java; then
    echo "⚠️  发现旧的Intent传递方式（应该被替换）"
else
    echo "✅ 已移除大量数据的Intent传递"
fi

echo

# 总结
echo "=== 修复总结 ==="
echo "✅ 创建了文件存储管理器"
echo "✅ 修改了数据传递方式"
echo "✅ 添加了数据清理机制"
echo "✅ 保持了向后兼容性"
echo
echo "修复说明："
echo "- 使用文件存储替代Intent传递大量数据"
echo "- 避免了TransactionTooLargeException错误"
echo "- 支持无限制的数据大小"
echo "- 提供了自动清理机制"
echo
echo "测试建议："
echo "1. 运行应用并点击浏览按钮"
echo "2. 检查是否出现TransactionTooLargeException"
echo "3. 验证图片是否正确显示"
echo "4. 检查文件是否正确创建和清理"
